home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / dev / misc / LEDA_gene.lha / LEDA-3.1c-generic / incl / LEDA / impl / prio_impl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-05  |  1.2 KB  |  64 lines

  1. /*******************************************************************************
  2. +
  3. +  LEDA  3.1c
  4. +
  5. +
  6. +  prio_impl.h
  7. +
  8. +
  9. +  Copyright (c) 1994  by  Max-Planck-Institut fuer Informatik
  10. +  Im Stadtwald, 6600 Saarbruecken, FRG     
  11. +  All rights reserved.
  12. *******************************************************************************/
  13.  
  14.  
  15.  
  16. class PRIO_IMPL
  17.  
  18. private:
  19.  
  20. PRIO_IMPL_DATA
  21.  
  22. virtual int  cmp(GenPtr, GenPtr) const = 0;
  23. virtual int  int_type()          const = 0;
  24. virtual void clear_key(GenPtr&)  const = 0;
  25. virtual void clear_inf(GenPtr&)  const = 0;
  26. virtual void copy_key(GenPtr&)   const = 0;
  27. virtual void copy_inf(GenPtr&)   const = 0;
  28.  
  29.  
  30. protected:
  31.  
  32.  PRIO_IMPL_ITEM item(void* p) const { return PRIO_IMPL_ITEM(p); }
  33.  
  34. public:
  35.  
  36.  PRIO_IMPL();
  37.  PRIO_IMPL(int);
  38.  PRIO_IMPL(int,int);
  39.  PRIO_IMPL(const PRIO_IMPL&);
  40. virtual ~PRIO_IMPL();
  41.  
  42. PRIO_IMPL& operator=(const PRIO_IMPL&);
  43.  
  44. PRIO_IMPL_ITEM insert(GenPtr,GenPtr);
  45. PRIO_IMPL_ITEM find_min() const;
  46. PRIO_IMPL_ITEM first_item() const;
  47. PRIO_IMPL_ITEM next_item(PRIO_IMPL_ITEM) const;
  48.  
  49. GenPtr key(PRIO_IMPL_ITEM) const;
  50. GenPtr inf(PRIO_IMPL_ITEM) const;
  51.  
  52. void del_min();
  53. void del_item(PRIO_IMPL_ITEM);
  54. void decrease_key(PRIO_IMPL_ITEM,GenPtr);
  55. void change_inf(PRIO_IMPL_ITEM,GenPtr);
  56. void clear();
  57.  
  58. int  size()  const;
  59.  
  60. };
  61.  
  62.